TypeScript 5.6 disponible, les vérifications null et true interdites

Après une version 5.5 en juin, Microsoft a publié hier soir TypeScript 5.6, avec à son bord plusieurs nouveautés intéressantes.

On note ainsi la prise en charge des identifiants de modules arbitraires dans le code. L’option « --noCheck » pour la compilation permet d’ignorer la vérification de type pour les fichiers d’entrée. Selon Microsoft, « cela permet d'éviter les vérifications de type inutiles lors de l'analyse sémantique nécessaire à l'émission des fichiers de sortie ».

TypeScript 5.6 apporte également « ses propres caractères de validation pour chaque élément de complétion ». « Les caractères de validation sont des caractères spécifiques qui, lorsqu'ils sont saisis, valident automatiquement l'élément de complétion suggéré. Cela signifie qu'au fil du temps, votre éditeur validera plus fréquemment l'élément de complétion suggéré lorsque vous tapez certains caractères », ajoute l’éditeur.

La version 5.6 introduit en outre des changements plus importants, comme l’interdiction des vérifications null et true sur la syntaxe dont la nullité ou la véracité ne varie jamais. Microsoft explique que « de très nombreux bugs » peuvent être ainsi détectés, le compilateur générant maintenant des erreurs. true, false, 0 et 1 restent toujours autorisés.

Rappelons que TypeScript est un sur-ensemble syntaxique de JavaScript. Créé par Microsoft et open source, il permet notamment le typage statique des variables et fonctions.

Commentaires (2)



const banana = "🍌";

export { banana as "🍌" };



import { "🍌" as banana } from "./foo"

/
* om nom nom
*/
function eat(food: string) {
console.log("Eating", food);
};

eat(banana);


Miam miam.
En fait, l'exemple ici est un peu pourri, le vrai cas d'utilisation est celui des symboles exportés dans d'autres langages (coucou WASM) avec des identificateurs non valides en JS/TS. Et pour le coup, c'est très utile.
Sans vouloir être méchant, je trouve 2 des paragraphes incompréhensible en l'état, et j'ai du aller voir la source pour comprendre.

interdiction des vérifications null => ce qui n'est pas un booléen (ou assimilable a un booléen) est interdit dans les if. Exemple : if (x =>0) sera désormais interdit, car l'expression est toujours vraie. C'est plus vraisemblablement une typo et l'auteur voulait écrire if (x >= 0).

propres caractères de validation => amélioration de l'auto-complétion, dans le cas où parmi les suggestions, l'IDE n'aurait plus de doute sur l'intention du développeur, via la saisie de caractère comme le . (point) ou , (virgule)

Fermer